home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / FLEX.TYPE.SHK / FLEX.TYPE / FLEX TYPE DEMO.bas < prev    next >
BASIC Source File  |  2000-01-01  |  9KB  |  112 lines

  1. 0  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>==================<CTRL-M>FLEX TYPE (DEMO)  <CTRL-M>BY  MARK SIMONSEN <CTRL-M>COPYRIGHT (C) 1982<CTRL-M>==================
  2. 10  & :ADDR =  PEEK(974) + PEEK(975) *256:ADDR = ADDR +2048
  3. 20  IF  PEEK(ADDR -9) = 3  AND  PEEK(ADDR -8) = 2  AND  PEEK(ADDR -7) = 1  THEN 40
  4. 30  HOME : PRINT "THIS PROGRAM EXPECTS A 70 COLUMN": PRINT "CHARACTER SET TO BE LOADED IN": PRINT "POSITION 1, A 56 COLUMN CHARACTER SET": PRINT "IN POSITION 2, AND A 40 COLUMN": PRINT "CHARACTER SET IN POSITION 3.": STOP 
  5. 40  VTAB 1: PRINT  CHR$(2) CHR$(16): ONERR  GOTO 1170
  6. 50  IF  PEEK(973) < >76  THEN  HOME : PRINT "FLEX TYPE MUST BE LOADED.": STOP 
  7. 60  IF  PEEK(104) <64  THEN  LOMEM: 24576
  8. 70 SPD = 125: SPEED= SPD
  9. 80 A$ =  CHR$(1):B$ =  CHR$(2):D$ =  CHR$(4):E$ =  CHR$(5):F$ =  CHR$(6):N$ =  CHR$(14):T$ =  CHR$(20):W$ =  CHR$(23):Z$ =  CHR$(26)
  10. 90 T70$ = T$ +"1":T56$ = T$ +"2":T40$ = T$ +"3"
  11. 100  PRINT T40$;: HOME 
  12. 110  HTAB 14: INVERSE : PRINT ":"; SPC( 11);":"
  13. 120  HTAB 14: PRINT "  FLEX TYPE  "
  14. 130  HTAB 14: PRINT ":"; SPC( 11);":": NORMAL 
  15. 140  VTAB 5: HTAB 3: PRINT "High Resolution Character Generator"
  16. 150  PRINT : HTAB 12:X$ = "By  MARK SIMONSEN": GOSUB 1130
  17. 160  PRINT : VTAB 10: PRINT "Flex Type gives you control over Apple's";: PRINT "Input and Output features, allowing you": PRINT "access to: "
  18. 170  VTAB 14: HTAB 8: PRINT "- Alternate Character Sets": HTAB 8: PRINT "- Upper and Lower Case": HTAB 8: PRINT "- All Special Characters": HTAB 8: PRINT "- Mixed Graphics and Text"
  19. 180  VTAB 19: PRINT "...Whatever your desires and programming";: PRINT "requirements might be. The following"
  20. 190  PRINT "demonstration will illustrate just a":X$ = "few": GOSUB 1130: PRINT " of Flex Type's capabilities.";
  21. 200  GOSUB 1080
  22. 210  GOSUB 1100
  23. 220  HTAB 8: INVERSE : PRINT " ALTERNATE CHARACTER SETS ": NORMAL 
  24. 230  PRINT : PRINT "Flex Type allows you to STRETCH or": PRINT "SHRINK your Apple's screen."
  25. 240  PRINT : PRINT "You can load up to 9 different character";: PRINT "sets at one time. (You can redefine the": PRINT "characters too!)"
  26. 250  PRINT : PRINT "You can use 20, 40, 56, and 70 column": PRINT "character sets at the same time."
  27. 260  PRINT : PRINT "For example..."
  28. 270  PRINT : PRINT T70$"-THIS IS A 70 COLUMN CHARACTER SET."
  29. 280  PRINT : PRINT T56$"-THIS IS A 56 COLUMN CHARACTER SET."
  30. 290  PRINT : PRINT T40$"-THIS IS A 40 COLUMN CHARACTER SET."
  31. 300  PRINT : PRINT W$"-THIS IS A 20 COLUMN CHARACTER SET."
  32. 310  PRINT W$;: GOSUB 1080: VTAB 24: HTAB 1: PRINT E$;: POKE 34,2: HOME 
  33. 320  VTAB 3: HTAB 1: PRINT "Here's another sample.": PRINT 
  34. 330  SPEED= 255
  35. 340  FOR I = 1 TO 4: PRINT T$I
  36. 350  IF I = 4  THEN  PRINT W$;
  37. 360  FOR J = 32 TO 127: PRINT  CHR$(J);: NEXT J: PRINT : NEXT I: PRINT W$;
  38. 370  GOSUB 1080: HOME 
  39. 380  PRINT "O.K., just one more.": PRINT T70$
  40. 390 VP = 5:HP = 1:X$ = "]LIST": GOSUB 1070: SPEED= 255: LIST 990: SPEED= SPD
  41. 400 VP = 11: PRINT T56$;:X$ = "]LIST": GOSUB 1070: SPEED= 255: LIST 990: SPEED= SPD
  42. 410 VP = 17: PRINT T40$;:X$ = "]LIST": GOSUB 1070: SPEED= 255: LIST 990
  43. 420  PRINT T40$;: GOSUB 1080: HOME 
  44. 430  VTAB 3: PRINT "The ability to display different": PRINT "character widths makes Flex Type the": PRINT "perfect companion for..."
  45. 440  PRINT : PRINT  TAB( 14);"YOUR PROGRAMS"
  46. 460  VTAB 9: PRINT "Think about it. You get to choose any of";: PRINT "these widths...": SPEED= 255
  47. 470 J = 70: PRINT T70$;:VP = 12: GOSUB 1180:J = 56: PRINT T56$;:VP = 15: GOSUB 1180
  48. 480 J = 40: PRINT T40$;:VP = 18: GOSUB 1180:J = 20: PRINT W$;:VP = 21: GOSUB 1180
  49. 490  VTAB 1: PRINT W$;
  50. 500  GOSUB 1080: POKE 34,0: GOSUB 1090
  51. 510  VTAB 1: HTAB 10: INVERSE : PRINT " UPPER AND LOWER CASE ": NORMAL 
  52. 520  PRINT : PRINT "Whether you are typing in your newest": PRINT "program or running an old favorite,": PRINT "lower case letters are right at your": PRINT "fingertips."
  53. 530  PRINT : PRINT "Now with Flex Type, you no longer need": PRINT "to buy a LOWER CASE ADAPTER."
  54. 590  PRINT : PRINT "After all, would you rather have two-": PRINT "thirds of a character set?": SPEED= 255: PRINT :K = 2: GOSUB 1120: PRINT : SPEED= SPD: PRINT "Or the entire set?": SPEED= 255: PRINT :K = 3: GOSUB 1120
  55. 600  GOSUB 1080
  56. 610  POKE 34,0: GOSUB 1110
  57. 620  VTAB 1: HTAB 11: INVERSE : PRINT " SPECIAL CHARACTERS ": NORMAL : PRINT : PRINT "In the standard ASCII Character Set": PRINT "there are 10 Special Characters."
  58. 630  VTAB 6: HTAB 2: PRINT Z$"K  -  LEFT BRACKET"
  59. 640  HTAB 2: PRINT Z$"L  -  BACK SLASH"
  60. 650  HTAB 2: PRINT Z$"M  -  RIGHT BRACKET"
  61. 660  HTAB 2: PRINT Z$"N  -  CARET"
  62. 670  HTAB 2: PRINT Z$"O  -  UNDERSCORE"
  63. 680  VTAB 6: HTAB 22: PRINT Z$"k  -  LEFT BRACE"
  64. 690  HTAB 22: PRINT Z$"l  -  VERTICAL BAR"
  65. 700  HTAB 22: PRINT Z$"m  -  RIGHT BRACE"
  66. 710  HTAB 22: PRINT Z$"n  -  TILDE"
  67. 720  HTAB 22: PRINT Z$"o  -  RUB"
  68. 730  PRINT : PRINT "Normally you have access to two of these";: PRINT "Special Characters from the keyboard, ]"
  69. 740  PRINT "and ^."
  70. 750  PRINT : PRINT "And by using the CHR$ function available";: PRINT "in Applesoft, you can print three": PRINT "others, " CHR$(91)", " CHR$(92)", and " CHR$(95)"."
  71. 770  PRINT : PRINT "With Flex Type, you can type all ten of": PRINT "these Special Characters from the": PRINT "keyboard!"
  72. 780  GOSUB 1080: GOSUB 1060
  73. 790  HGR2 : HCOLOR= 3: VTAB 1: HTAB 8: INVERSE : PRINT " MIXED GRAPHICS AND TEXT ": NORMAL : PRINT : PRINT "You are about to see an example of Flex": PRINT "Type's ability to combine graphics and"
  74. 800  PRINT "text on the same screen."
  75. 810  PRINT : PRINT "As you will see, besides combining text": PRINT "and pictures you can also plot anywhere": PRINT "you like."
  76. 820  GOSUB 1080: SPEED= 255: HOME : PRINT : PRINT D$"BLOAD DEMO.PIC,A$4000": VTAB 21: HTAB 1: SPEED= SPD
  77. 830  PRINT "You can write down here, where you would";: PRINT "normally expect to see text."
  78. 840  VTAB 1: HTAB 1: PRINT "Or you can write up here, where you": PRINT "don't expect to see it.": VTAB 14: HTAB 9: PRINT "And you can even put text"
  79. 850  FOR I = 1 TO 5: READ X,Y: HPLOT X,Y: NEXT I: DATA   235,108,235,112,232,116,226,118,219,119
  80. 860  FOR I = 1 TO 25:X = X -7: HPLOT X,Y: NEXT I
  81. 870  FOR I = 1 TO 8: READ X,Y: HPLOT X,Y: NEXT I: DATA   37,118,30,116,27,109,27,102,26,103,25,104,28,103,29,104
  82. 880  VTAB 11: HTAB 5: PRINT " here.": GOSUB 1080: HTAB 1: PRINT E$;: POKE 34,20
  83. 890  VTAB 23: HTAB 1: PRINT "If having so much freedom bothers you,": PRINT "you can always limit yourself to the": PRINT "standard four lines of text at the": PRINT "bottom of the screen without affecting"
  84. 900  PRINT "the rest of the picture or causing it to";: PRINT "scroll."
  85. 910  GOSUB 1080: POKE 34,0: GOSUB 1160
  86. 920  VTAB 1: HTAB 1: INVERSE : PRINT " EDITING AND CURSOR CONTROL ": NORMAL : PRINT "Flex Type supports all Escape Sequences,";: PRINT "editing functions (arrow keys), and Zero";: PRINT "Page window pokes. It is completely"
  87. 930  PRINT "compatible with PLE and GPLE also."
  88. 940  PRINT : INVERSE : PRINT " PROGRAM CONTROL ": NORMAL : PRINT "Flex Type supports all Applesoft": PRINT "commands and correctly interprets and"
  89. 950  PRINT "executes commands like HOME, INVERSE,": PRINT "NORMAL, TEXT, HGR, HTAB, etc."
  90. 960  PRINT : INVERSE : PRINT " CHARACTER SETS ": NORMAL : PRINT "Flex Type allows you to define your own": PRINT "character sets or choose from several": PRINT "already defined sets."
  91. 970  VTAB 20: PRINT "There is no limit to what you can do": PRINT "with  FLEX TYPE ! "
  92. 980  SPEED= 255
  93. 990  FOR I = 1 TO 20: VTAB 21: HTAB 6:TGGLE =   NOT TGGLE: NORMAL : IF (TGGLE)  THEN  INVERSE 
  94. 1000  PRINT " FLEX TYPE ! ": FOR J = 1 TO 100: NEXT 
  95. 1010  IF I = 10  OR I = 20  THEN  PRINT N$;
  96. 1020  NEXT : END 
  97. 1060  HOME : RETURN 
  98. 1070  FOR I = 1 TO  LEN(X$): VTAB VP: HTAB HP: PRINT  LEFT$(X$,I);: INVERSE : PRINT " ";: NORMAL : NEXT I: VTAB VP: HTAB HP: PRINT X$;" ": RETURN 
  99. 1080  SPEED= 255: POKE  -16368,0: HTAB 4: VTAB 24: PRINT "<SPACE> TO CONTINUE, <Q> TO QUIT ";: GET X$: IF X$ = "Q"  THEN  POP : GOTO 1170
  100. 1085  SPEED= SPD: RETURN 
  101. 1090  HOME : RETURN 
  102. 1100  HOME : RETURN 
  103. 1110  HOME : RETURN 
  104. 1120  FOR I = 1 TO K: PRINT  SPC( 4 -1 *(I = 1));: FOR J = 0 TO 31: PRINT  CHR$(J +I *32);: NEXT J: PRINT : NEXT I: RETURN 
  105. 1130 HP =  PEEK(252)
  106. 1140  PRINT X$;
  107. 1150 LX =  LEN(X$):VP =  PEEK(37) +1: HPLOT HP *7,VP *8 TO (HP +LX) *7 -2,VP *8: RETURN 
  108. 1160  HOME : RETURN 
  109. 1170  SPEED= 255: POKE 216,0: NORMAL : POKE 34,0: VTAB 23: END 
  110. 1180  FOR I = 1 TO J: VTAB VP: HTAB I:X$ =  STR$(I): IF  LEN(X$) = 1  THEN X$ = "0" +X$
  111. 1190  PRINT  LEFT$(X$,1);: VTAB VP +1: HTAB I: PRINT  RIGHT$(X$,1);: NEXT I: RETURN 
  112. 9999  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>==================<CTRL-M>FLEX TYPE (DEMO)  <CTRL-M>BY  MARK SIMONSEN <CTRL-M>COPYRIGHT (C) 1982<CTRL-M>==================